.TH std::swap(std::unordered_multimap) 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::swap(std::unordered_multimap) \- std::swap(std::unordered_multimap)

.SH Synopsis
   Defined in header <unordered_map>
   template< class Key, class T, class Hash, class KeyEqual, class Alloc
   >

   void swap( std::unordered_multimap<Key, T, Hash, KeyEqual, Alloc>&     \fI(since C++11)\fP
   lhs,                                                                   \fI(until C++17)\fP

              std::unordered_multimap<Key, T, Hash, KeyEqual, Alloc>&
   rhs );
   template< class Key, class T, class Hash, class KeyEqual, class Alloc
   >

   void swap( std::unordered_multimap<Key, T, Hash, KeyEqual, Alloc>&
   lhs,                                                                   \fI(since C++17)\fP
              std::unordered_multimap<Key, T, Hash, KeyEqual, Alloc>&
   rhs )

                  noexcept(/* see below */);

   Specializes the std::swap algorithm for std::unordered_multimap. Swaps the contents
   of lhs and rhs. Calls lhs.swap(rhs).

.SH Parameters

   lhs, rhs - containers whose contents to swap

.SH Return value

   \fI(none)\fP

.SH Complexity

   Constant.

.SH Exceptions

   noexcept specification:           \fI(since C++17)\fP
   noexcept(noexcept(lhs.swap(rhs)))

.SH Example


// Run this code

 #include <algorithm>
 #include <iostream>
 #include <unordered_map>

 int main()
 {
     std::unordered_multimap<int, char> alice{{1, 'a'}, {2, 'b'}, {3, 'c'}};
     std::unordered_multimap<int, char> bob{{7, 'Z'}, {8, 'Y'}, {9, 'X'}, {10, 'W'}};

     auto print = [](std::pair<const int, char>& n)
     {
         std::cout << ' ' << n.first << ':' << n.second;
     };

     // Print state before swap
     std::cout << "Alice:";
     std::for_each(alice.begin(), alice.end(), print);
     std::cout << "\\n" "Bob  :";
     std::for_each(bob.begin(), bob.end(), print);
     std::cout << '\\n';

     std::cout << "-- SWAP\\n";
     std::swap(alice, bob);

     // Print state after swap
     std::cout << "Alice:";
     std::for_each(alice.begin(), alice.end(), print);
     std::cout << "\\n" "Bob  :";
     std::for_each(bob.begin(), bob.end(), print);
     std::cout << '\\n';
 }

.SH Possible output:

 Alice: 1:a 2:b 3:c
 Bob  : 7:Z 8:Y 9:X 10:W
 -- SWAP
 Alice: 7:Z 8:Y 9:X 10:W
 Bob  : 1:a 2:b 3:c

.SH See also

   swap swaps the contents
        \fI(public member function)\fP

.SH Category:
     * conditionally noexcept
